Hej.
Jeg er i gang med at lave en script generator til nogle NPC'er til et spil, for at spare tid med selv at skrive dem fra bunden. Der er forskellige funktioner som skal kunne genereres og et er at applikationen skal kunne checke om den valgte funktion skal have en string som et parameter eller en integer. (Jeg er ikke så god til hvad de forskellige ting hedder så bær venligst over med mig).
Det skal lige siges at jeg skriver C# som en hobby, det er ikke noget jeg har i tanke om at gøre til en professionel karriere.
Jeg får fejlen på denne linje:
if ((IsNumeric(Send)) || (!IsNumeric(Send) && Send[o].Contains(",") && Send[o].Length < 10))
Her er hele min metode(Det kan nok godt se rodet ud, jeg har prøvet at flytte rundt på ting og skrevet nogle ting om, men jeg kan bare ikke få skidtet til at virke):
string generateScript(String[] Chats, String[] Send)
{
if (Chats != null || Send != null)
{
try
{
String script = "\r\n";
int o = 0;
do
{
script += "\r\n if (status == " + o + ") {\r\n ,SEND" + o + "," + Chats[o];
if ((IsNumeric(Send)) || (!IsNumeric(Send) && Send[o].Contains(",") && Send[o].Length < 10))
script += ");\r\n }\r\n";
else
script += "\");\r\n }\r\n";
o++;
} while (o < Chats.Length - 1);
StringBuilder j = new StringBuilder(script);
for (int r = 0; r < Send.Length - 1; r++)
{
j.Replace(",SEND" + r + ",", Send[r]);
}
j.Replace("[blue]", "#b");
j.Replace("[/blue", "#k");
j.Replace("[green]", "#g");
j.Replace("[/green]", "#k");
j.Replace("[purple]", "#d");
j.Replace("[/purple]", "#k");
j.Replace("[red]", "#r");
j.Replace("[/red", "#");
j.Replace("[bold]", "#e");
j.Replace("[/bold]", "#n");
j.Replace("[normal]", "#n");
j.Replace("[black]", "#k");
j.Replace("[itempic]", "#i");
j.Replace("[/itempic]", "#");
j.Replace("[playername]", "#h #");
j.Replace("[itemname]", "#t");
j.Replace("[/itemname]", "#");
j.Replace("[mapname]", "#m");
j.Replace("[/mapname]", "#");
j.Replace("[mobname]", "#o");
j.Replace("[/mobname]", "#");
j.Replace("[npcname]", "#p");
j.Replace("[/npcname]", "#");
j.Replace("[skillname]", "#q");
j.Replace("[/skillname]", "#");
j.Replace("[percentbar]", "#B");
j.Replace("[/percentbar]", "#");
j.Replace("[br]", "\r\n");
script = j.ToString();
script += "\r\n if (status == " + o + ") {\r\n cm.dispose();\r\n }";
return script;
}
catch (Exception ex)
{
MessageBox.Show("ERROR: " + ex.ToString());
return ex.ToString();
}
}
else { return "error"; }
}